﻿using DAL;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BEL
{
    public class RedSocial
    {
        private int _redId;
        private string _redNombre;
        private string _redDescripcion;

        #region Propiedades
        public int RedId
        {
            get { return _redId; }
            set { _redId = value; }
        }
        public string RedNombre
        {
            get { return _redNombre; }
            set { _redNombre = value; }
        }
        public string RedDescripcion
        {
            get { return _redDescripcion; }
            set { _redDescripcion = value; }
        }
        #endregion


        public List<RedSocial> BuscarRedesSociales()
        {
            List<RedSocial> pCollection = new List<RedSocial>();
            SqlDataReader dReader = DALRedesSociales.BuscarRedesSociales();

            while (dReader.Read())
            {
                RedSocial red = LoadRedSocial(dReader);
                pCollection.Add(red);
            }
            dReader.Close();
            return pCollection;
        }


        private static RedSocial LoadRedSocial(IDataReader dReader)
        {

            RedSocial redEntity = new RedSocial();
            redEntity.RedId = (DBNull.Value == dReader["RedId"]) ? 0 : (int)dReader["RedId"];
            redEntity.RedNombre = (DBNull.Value == dReader["RedNombre"]) ? string.Empty : (string)dReader["RedNombre"];

            return redEntity;
        }

        public static List<RedSocial> BuscarRedesDeComercio(int ComercioId)
        {
            List<RedSocial> ret = new List<RedSocial>();
            DALRedesSociales dal = new DALRedesSociales();
            SqlDataReader dr = dal.BuscarRedesDeComercio(ComercioId);

            while (dr.Read())
            {
                RedSocial rs = new RedSocial();
                rs.RedId = Convert.ToInt32(dr["RedId"]);
                rs.RedNombre = Convert.ToString(dr["RedNombre"]);
                rs.RedDescripcion = Convert.ToString(dr["RedDescripcion"]);
                ret.Add(rs);
            }
            return ret;
        }

        internal Hashtable toHashtable()
        {

            Hashtable hash = new Hashtable();

            if (!string.IsNullOrEmpty(this.RedId.ToString()))
            {
                hash.Add("RedId", this.RedId);
            }
            hash.Add("RedNombre", this.RedNombre);
            hash.Add("RedDescripcion", this.RedDescripcion);

            return hash;
        }


    }
}